package controlmercancias.dominio;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Hasier
 */
public class Sensor {

    private int id;
    private String desc;
    private boolean estado = true;
    private List<Medida> medidas;

    public Sensor(int id, String desc) {
        setDescripcion(desc);
        setId(id);
        medidas = new ArrayList<Medida>();
    }

    private void setDescripcion(String desc) {
        if (desc == null) {
            throw new NullPointerException("La descripción no puede ser nula");
        }
        if (desc.trim().equals("")) {
            throw new IllegalArgumentException("La descripción no puede ser cadena vacía");
        }
        this.desc = desc;
    }

    private void setId(int id) {
        if (id < 0) {
            throw new IllegalArgumentException("El id no puede ser menor que 0");
        }
        this.id = id;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public String getDesc() {
        return desc;
    }

    public int getId() {
        return id;
    }

    public List<Medida> getMedidas() {
        return medidas;
    }

    public void addMedida(Medida m) {
        if (m == null) {
            throw new NullPointerException("La medida no puede ser nula");
        }
        medidas.add(m);
    }
     
    public void setMedidas(List <Medida> lista){
    	if (lista == null) {
            throw new NullPointerException("La medida no puede ser nula");
        }
    	medidas = lista;
    }

    @Override
    public String toString() {
        return id + ";" + desc + ";" + (estado == true ? "ON" : "OFF");
    }
}
